Prioritizing Technical Debt in Database Normalization Using Portfolio Theory and Data Quality Metrics

نویسندگان

  • Mashel Al-Barak
  • Rami Bahsoon
چکیده

Database normalization is the one of main principles for designing relational databases. The benefits of normalization can be observed through improving data quality and performance, among the other qualities. We explore a new context of technical debt manifestation, which is linked to ill-normalized databases. This debt can have long-term impact causing systematic degradation of database qualities. Such degradation can be liken to accumulated interest on a debt. We claim that debts are likely to materialize for tables below the fourth normal form. Practically, achieving fourth normal form for all the tables in the database is a costly and idealistic exercise. Therefore, we propose a pragmatic approach to prioritize tables that should be normalized to the fourth normal form based on the metaphoric debt and interest of the ill-normalized tables, observed on data quality and performance. For data quality, tables are prioritized using the risk of data inconsistency metric. Unlike data quality, a suitable metric to estimate the impact of weakly or un-normalized tables on performance is not available. We estimate performance degradation and its costs using Input\Output (I\O) cost of the operations performed on the tables and we propose a model to estimate this cost for each table. We make use of Modern Portfolio Theory to prioritize tables that should be normalized based on the estimated I\O cost and the likely risk of cost accumulation in the future. To evaluate our methods, we use a case study from Microsoft, AdventureWorks. The results show that our methods can be effective in reducing normalization debt and improving the quality of the database.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Database Normalization Debt: A Debt-Aware Approach to Reason about Normalization Decisions in Database Design

Technical debt is a metaphor that describes the long-term effects of shortcuts taken in software development activities to achieve near-term goals. In this study, we explore a new context of technical debt that relates to database normalization design decisions. We posit that ill-normalized databases can have longterm ramifications on data quality and maintainability costs over time, just like ...

متن کامل

A Portfolio of Internal Quality Metrics for Software Architects

Evolving the architecture of the software together with the evolution of the design is one of the key areas in maintaining the high quality. In this paper we present a portfolio of indicators addressing a set of three areas of information needs for large software development companies of embedded software. The portfolio is a result of our studies of literature and at Software Center (nine compa...

متن کامل

Technical debt reduction using search based automated refactoring

Software refactoring has been recognised as a valuable process during software development and is often aimed at repaying technical debt. Technical debt arises when a software product has been built or amended without full care for structure and extensibility. Refactoring is useful to keep technical debt low and if it can be automated there are obvious efficiency benefits. Using a combination o...

متن کامل

Towards proactive management of technical debt by software metrics

Large software development organizations put enormous amount of effort not only for responding to continuous requests of customers but also for reengineering and refactoring activities to keep their product maintainable. Often rapid and immature feature deliveries over long period of time gradually decrease the product quality, and therefore the refactoring activities become costly and effort-i...

متن کامل

Comparing The Accumulation Of Technical Debt Between Two Applications Developed With Spring Web MVC And Apache Struts 2

This paper presents the results of an observational study that investigates the di↵erences between two widely used software development frameworks for Java EE applications. Also, it presents the accumulation of Technical Debt and the evolution of code quality metrics of software developed using these frameworks. Considering that web applications hold the lion’s share of today’s IT industry, thi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1801.06989  شماره 

صفحات  -

تاریخ انتشار 2018